package cn.cdeden.sys.service;


import cn.cdeden.common.mybatis.core.page.PageQuery;
import cn.cdeden.common.core.utils.page.TableDataInfo;
import cn.cdeden.sys.domain.SysParametersConfig;
import cn.cdeden.sys.domain.dto.SysGeneralConfigQueryParam;
import cn.cdeden.sys.domain.dto.SysParametersConfigDto;
import cn.cdeden.sys.domain.dto.SysParametersConfigQueryParam;
import cn.cdeden.sys.enums.SysParametersConfigEnums;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.coyote.BadRequestException;

import java.util.List;

/**
 * @ProjectName : ecm_svn
 * @Package : com.cdyd.ecm.sys.service
 * @ClassName : SysParametersQueryConfigService
 * @Author : Yu.
 * @Description : // TODO
 * @Date : 2024/4/21 16:50
 * @Version : 1.0
 */
public interface SysParametersQueryConfigService  extends IService<SysParametersConfig> {

    static final String CACHE_KEY = "sysParametersConfig";

    /**
     * 查询数据分页
     * @param query 条件
     * @param pageable 分页参数
     * @return PageInfo<SysParametersConfigDto>
     */
    TableDataInfo<SysParametersConfigDto> queryAll(SysParametersConfigQueryParam query, PageQuery pageable);

    /**
     * 查询所有数据不分页
     * @param query 条件参数
     * @return List<SysParametersConfigDto>
     */
    List<SysParametersConfigDto> queryAll(SysGeneralConfigQueryParam query);


    SysParametersConfigDto getByCode(String code, String type) throws BadRequestException;

    SysParametersConfigDto getByCode(String code, String type,boolean mandatory) throws BadRequestException;
    List<SysParametersConfigDto> getByCodes(String code, SysParametersConfigEnums enums) throws BadRequestException;





    SysParametersConfig getById(String id);
    SysParametersConfigDto findById(String id);



    /**
     * 判断数据 是否存在。
     */
    boolean judgmentTypeData(String type);


    boolean deleteRedisInfo(String code,String type);
}
